今天想講幾個 規則 的設定
首先先寫一個簡單的範例
.PONHY: clean
all:test1
test1:test1.o
@echo "GO1 "
test2:test2.o test1.o
@echo "GO2 "
test1.o:
@echo "test1: "
test2.o:
@echo "test2: "
clean:
rm -f test1 test1.o
1. 主要架構 → 目標、依賴 與 操作
首先昨天的範例中講到了最主要的規則
target(目標): dependencies(依賴)
<tab> 命令1 (操作)
<tab> 命令2
.......
2. 規則必須要有目標,默認目標為第一個目標
最初一定要設定一個 目標
執行 make 時
make <目標>
執行 make 再範例中會執行第一個,就是目標 all
all:test1
輸入:
make
輸出:
test1:
GO1
執行 make test2.o 再範例中會執行目標 test2.o
輸入:
make test2.o
輸出:
test2:
執行 make clean 再範例中會執行目標 clean
輸入:
make clean
輸出:
rm -f test1 test1.o
3. 規則可以沒有依賴
再範例中的目標test.o 就沒有任何依賴
test1.o:
@echo "test1: "
輸入:
make test1.o
輸出:
test1:
4. 規則可以 沒有命令
再範例中開頭的目標all 就沒有命令
all:test1
輸入:
make all
輸出:
test1:
GO1
5. 規則可以多個依賴
再範例中的目標test2 就有兩個依賴
test2:test2.o test1.o
@echo "GO2 "
輸入:
make test2
輸出:
test2:
test1:
GO2
6. 規則可以設定偽目標
使用 .PONHY 就可以設定偽目標
範例中clean 就是偽目標
.PONHY: clean